/*
 * OctTreeLeafNode.h
 *
 *  Created on: Sep 25, 2011
 *      Author: vilches
 */
#include "OctTreeNode.h"
#include "OctTreeInternalNode.h"

#ifndef OCTTREELEAFNODE_H_
#define OCTTREELEAFNODE_H_

class OctTreeLeafNode: public OctTreeNode {
public:
	OctTreeLeafNode();
	//establecemos al velocidad para un planeta
	void setVelocity(const double x, const double y, const double z);
	// actualizamos la posicion y velocidad de cada planeta
	void Advance();
	// calculamos la velocidad y posicion de cada planeta llama a recurseforce
	void ComputeForce(const OctTreeInternalNode * const root, const double size);

	// recursivamente se calcula la velocidad y posicion de un planeta comparandolo con todos
private:
	void RecurseForce(const OctTreeNode * const n, double dsq);

	double velx;
	double vely;
	double velz;
	double accx;
	double accy;
	double accz;
};

#endif /* OCTTREELEAFNODE_H_ */
